package com.oro.domain;

import java.io.Serializable;

import javax.persistence.Entity;

/**
 * Entity implementation class for Entity: IndirizzoIT
 * 
 */
@Entity
public class IndirizzoIT extends Indirizzo implements Serializable {

	private static final long serialVersionUID = 1L;

	private String cap;
	private String provincia;

	public IndirizzoIT() {
		super();
		setPaese("Italy");
	}

	public IndirizzoIT(String indirizzoLinea1, String citta, String paese) {
		super(indirizzoLinea1, citta, paese);
	}

	public IndirizzoIT(String indirizzoLinea1, String citta, String provincia,
			String paese) {
		super(indirizzoLinea1, citta, paese);
		this.provincia = provincia;
	}

	public IndirizzoIT(String indirizzoLinea1, String citta, String provincia,
			String cap, String paese) {
		this(indirizzoLinea1, citta, provincia, paese);
		this.cap = cap;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o)
			return true;
		if (o == null)
			return false;
		if (!(o instanceof IndirizzoIT))
			return false;

		IndirizzoIT ind = (IndirizzoIT) o;

		if (getId() != null && getId() != 0L)
			return getId().equals(ind.getId());

		if (getIndirizzoLinea1() != null) {
			if (!(getIndirizzoLinea1().equals(ind.getIndirizzoLinea1())))
				return false;
		} else if (ind.getIndirizzoLinea1() != null)
			return false;

		if (getIndirizzoLinea2() != null) {
			if (!(getIndirizzoLinea2().equals(ind.getIndirizzoLinea2())))
				return false;
		} else if (ind.getIndirizzoLinea2() != null)
			return false;

		if (getCitta() != null) {
			if (!(getCitta().equals(ind.getCitta())))
				return false;
		} else if (ind.getCitta() != null)
			return false;

		if (getPaese() != null) {
			if (!(getPaese().equals(ind.getPaese())))
				return false;
		} else if (ind.getPaese() != null)
			return false;

		if (getProvincia() != null) {
			if (!(getProvincia().equals(ind.getProvincia())))
				return false;
		} else if (ind.getProvincia() != null)
			return false;

		if (getCap() != null) {
			if (!(getCap().equals(ind.getCap())))
				return false;
		} else if (ind.getCap() != null)
			return false;

		return true;
	}

	@Override
	public String getCap() {
		return cap;
	}

	public String getProvincia() {
		return provincia;
	}

	@Override
	public void setCap(String cap) {
		this.cap = cap;
	}

	public void setProvincia(String provincia) {
		this.provincia = provincia;
	}

}
